export default function createElement (type, props, ...children) {
    const childElements = [].concat(...children).reduce((result ,child) => {
        if (child !== false && child !== true && child !== null) {
            if (child instanceof Object) {
                // 如果子节点是对象形式，则不进行处理直接返回
                result.push(child)
            } else {
                // 如果不是对象形式则创建一个元素
                result.push(createElement("text", { textContent: child }))
            }
        }
        return result
    }, [])
    return {
        type,
        props: Object.assign({children: childElements}, props)
    }
}